#include <iostream>

int func()
{
    std::cout << "hellowordl";
}

template<typename t1, typename t2>
auto add(t1 a, t2 b)->decltype(a + b)
{
    return a + b;
}

int main()
{
    int a = 10;
    int b = 20;
    //根据括号里的类型推导
    decltype(a + b)c;
    
    //1、不需要初始化预定项
    //2、表达式的值是左值，推导出引用，右值推导出变量
    //3、可以推导特殊属性 & cons
    
    //4、推导函数的返回值
    //这里的函数并不会执行，直接根据函数定义获取返回值
    decltype(func()) e;
    return 0;
}